Natural language generation (“NLG”) by machines, at a near-human level, is a major goal for Artificial Intelligence. A goal of NLG is to convert computer-based data or representations into human-understandable speech or expression. There are various considerations when trying to make computer generated text sound more “natural” such as what type of text is sought to be generated (communicative goal), what entities, events and relationships will express the content of that text, and how to forge grammatical constructions with the content into “natural” sounding text.
Some spoken dialogue systems rely on template-based, hand-crafted rules for the NLG. However, in some instances, the required templates are cumbersome to maintain. Additionally, the overall approach of the template-based, hand-crafted rules does not scale well to complex domains and databases.